﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using _3.Datos.Miembro;
using _4.Modelado.Miembros;

namespace _2.Logica.Miembro
{
    public class ConsolidadoL: Negocio
    {
      
        public void GuardarConsolidacion(Consolidado obj)
        {
            try
            {
                IniciarTransanccion();



                var objBD = new ConsolidadoBD();

                objBD.GuardarConsolidacion(comando, obj);

                ConfirmarTransaccion();
            }
            catch (Exception e)
            {
                DeshacerTransaccion();
                throw e;
            }
        }
        /// <summary>
        /// Consulta todos los registros en 
        /// la tabla T_Consolidacion
        /// </summary>
        /// <returns>Lista con todos los registros encontrados</returns>
        public List<Consolidado> ConsultarConsolidacion()
        {
            try
            {
                IniciarTransanccion();

                var objBD = new ConsolidadoBD();

                List<Consolidado> lista = objBD.ConsultarConsolidacion(this.comando);

                CerrarConexion();

                return lista;
            }
            catch (Exception exc)
            {
                CerrarConexion();
                throw exc;
            }
        }
        /// <summary>
        /// Consulta los datos
        /// de un registro especifico
        /// </summary>
        /// <param name="obj"> Contiene los valor que van a ser enviados al sp</param>
        /// <returns>La lista de los registros que coinciden en la busqueda</returns>
        public List<Consolidado> ConsultarConsolidado(Consolidado obj)
        {
            try
            {
                IniciarTransanccion();

                var objBD = new ConsolidadoBD();

                List<Consolidado> lista = objBD.ConsultarConsolidado(this.comando, obj);

                CerrarConexion();

                return lista;
            }
            catch (Exception exc)
            {
                CerrarConexion();
                throw exc;
            }
        }

        public void EliminarConsolidacion(Consolidado obj)
        {
            try
            {
                this.IniciarTransanccion();

                var objBD = new ConsolidadoBD();

                objBD.EliminarConsolidacion(this.comando, obj);

                this.ConfirmarTransaccion();

            }
            catch (Exception e)
            {
                this.DeshacerTransaccion();
                throw e;
            }
        }
    }
}
